The quality of software inventory depends directly on the quality of the underlying application signatures associated with software applications. Therefore, engineering application signatures is an important task. Also, it is a very difficult task, as there are hundreds and thousands of applications in the field. Furthermore, application signatures change significantly between different versions of an application and between the same applications being installed on different operating system platforms.
In the past, a method of engineering an application signature for an application on a certain operating system platform was to install the application on that platform and to analyze what has been changed by the installation process. Such a method requires that a license for the applications is available. In addition, the respective operating system platform is needed in order to carry out the analysis. As a result, the engineering of software application signatures is extremely costly and time consuming.